﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DebuggerStepThrough, XmlType(Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code")]
    public class VideoEncoderConfigurationOptions
    {
        private XmlAttribute[] anyAttrField;
        private VideoEncoderOptionsExtension extensionField;
        private H264Options h264Field;
        private JpegOptions jPEGField;
        private Mpeg4Options mPEG4Field;
        private IntRange qualityRangeField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=4)]
        public VideoEncoderOptionsExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=3)]
        public H264Options H264
        {
            get
            {
                return this.h264Field;
            }
            set
            {
                this.h264Field = value;
            }
        }

        [XmlElement(Order=1)]
        public JpegOptions JPEG
        {
            get
            {
                return this.jPEGField;
            }
            set
            {
                this.jPEGField = value;
            }
        }

        [XmlElement(Order=2)]
        public Mpeg4Options MPEG4
        {
            get
            {
                return this.mPEG4Field;
            }
            set
            {
                this.mPEG4Field = value;
            }
        }

        [XmlElement(Order=0)]
        public IntRange QualityRange
        {
            get
            {
                return this.qualityRangeField;
            }
            set
            {
                this.qualityRangeField = value;
            }
        }
    }
}

